import request from './request'

// 获取简历列表
export const getResumeList = (params) => {
  return request.get('/business/resume/list', params)
}

// 修改简历
export const modifyResumeList = (params) => {
	return request.put('/business/resume', params)
}

// 获取历史面试列表
export const getInterviewHistory = (params) => {
  return request.get('/business/mockInterview/list', params)
}

// 生成AI面试会话窗口
export const generateConversation = (params) => {
  return request.get('/business/mockInterview/stream/generate/conversation', params)
}

// 根据简历生成5个样例面试问题
export const generateSampleQuestions = (params) => {
  return request.get('/business/mockInterview/stream/generate/sample-questions', params)
}

// 提交单个面试答案
export const submitInterviewAnswers = (data) => {
  return request.put('/business/mockInterviewQuestion', data)
}

// 提交面试答案批量
export const submitInterviewAnswersBatch = (params) => {
  return request.put('/business/mockInterviewQuestion/batchEdit', params)
}

// 获取面试结果
export const getInterviewResult = (interviewId) => {
  return request.get(`/business/mockInterview/stream/evaluate/answer/${interviewId}`)
}

// 获取历史面试详情
export const getInterviewDetail = (interviewId) => {
  return request.get(`/business/mockInterview/${interviewId}`)
}

// 修改历史面试详情
export const updateInterviewDetail = (params) => {
  return request.put(`/business/mockInterview`, params)
}

// 查询面试问题及回答
export const getInterviewQuestionsAndAnswers = (interviewId) => {
  return request.get(`/business/mockInterviewQuestion/list?interviewId=${interviewId}`)
}

// 模拟API调用 - 获取简历列表
export const mockGetResumeList = (params) => {
  return request.get(`/business/resume/list`, params)
}

// 模拟API调用 - 获取历史面试列表
export const mockGetInterviewHistory = (params) => {
  return request.get(`/business/mockInterview/list`, params)
}

// 模拟API调用 - 获取面试问题
export const mockGenerateSampleQuestions = () => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        code: 200,
        data: [
          {
            id: '1',
            content: '请简单介绍一下你自己和你的工作经历。'
          },
          {
            id: '2',
            content: '你为什么对我们公司的这个职位感兴趣？'
          },
          {
            id: '3',
            content: '描述一个你在工作中遇到的挑战，以及你是如何解决的？'
          },
          {
            id: '4',
            content: '你认为自己的优势和不足是什么？'
          },
          {
            id: '5',
            content: '你对未来的职业规划是什么？'
          }
        ]
      })
    }, 1000)
  })
}

// 模拟API调用 - 获取面试详情
export const mockGetInterviewDetail = () => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        code: 200,
        data: {
          id: 'mock-id',
          position: '前端开发工程师',
          score: 85,
          createTime: '2023-05-20T14:30:00',
          questions: [
            {
              question: '请简单介绍一下你自己和你的工作经历。',
              answer: '我是一名前端开发工程师，有5年的工作经验。目前主要使用Vue.js和React进行Web应用开发。我曾在某科技公司负责电商平台的前端开发，主导了多个核心功能模块的设计和实现，包括商品搜索、购物车和支付流程等。'
            },
            {
              question: '你为什么对我们公司的这个职位感兴趣？',
              answer: '贵公司在行业内拥有很好的口碑，尤其是在技术创新方面。我关注到贵公司正在推进的微服务架构和前端组件化体系建设，这与我的专业方向和职业规划非常契合。我希望能够加入贵公司，参与这些有挑战性的项目，同时也能够在专业技术上有更多的成长。'
            },
            {
              question: '描述一个你在工作中遇到的挑战，以及你是如何解决的？',
              answer: '在上一个项目中，我们需要处理大量数据的实时渲染问题，页面性能严重下降。为了解决这个问题，我首先通过Performance工具定位到了性能瓶颈，发现是过度渲染和数据处理导致的。我通过引入虚拟滚动技术和实现数据分片加载，同时优化了React组件的渲染逻辑，最终将页面加载时间从原来的3秒降低到了0.8秒，大大提升了用户体验。'
            },
            {
              question: '你认为自己的优势和不足是什么？',
              answer: '我的优势在于扎实的前端技术基础和较强的问题解决能力，能够快速定位和解决复杂的技术问题。同时，我有良好的团队协作能力，善于与不同角色的团队成员沟通。不足方面，我认为自己在UI设计感觉上还有提升空间，目前正在通过学习设计原则和用户体验相关知识来弥补这一短板。'
            },
            {
              question: '你对未来的职业规划是什么？',
              answer: '短期内，我希望能够成为团队中的技术骨干，深入掌握前端架构设计和性能优化技术。中长期规划是向全栈开发方向发展，同时提升自己的项目管理能力，未来希望能够担任技术团队的管理角色，带领团队实现更有挑战性的项目目标。'
            }
          ],
          analysis: '面试表现优秀，展示了扎实的技术基础和清晰的表达能力。对问题的回答条理清晰，能够举具体的例子说明问题。职业规划部分表现出了明确的目标和发展方向，整体来看是非常有潜力的候选人。'
        }
      })
    }, 800)
  })
}

// 获取面试问题
export const getInterviewQuestions = (data) => {
  return request.get('/interview/questions', data)
}

// AI生成面试答案
export const generateInterviewAnswer = (data) => {
  return request.post('/interview/generate-answer', data)
}

// 删除面试记录
export const deleteInterview = (interviewId) => {
  return request.delete(`/interview/${interviewId}`)
}

// 获取面试评分
export const getInterviewScore = (id) => {
  return request.get(`/interview/${id}/score`)
}

// 获取面试建议
export const getInterviewSuggestions = (id) => {
  return request.get(`/interview/${id}/suggestions`)
}

// 开始新面试
export const startNewInterview = (data) => {
  return request.post('/interview/start', data)
}

// 更新面试状态
export const updateInterviewStatus = (id, data) => {
  return request.put(`/interview/${id}/status`, data)
}

// 获取面试统计数据
export const getInterviewStatistics = (params) => {
  return request.get('/interview/statistics', params)
}

// 生成面试问题
export const generateInterviewQuestions = (data) => {
  return request.post('/interview/questions/generate', data)
}

// 更新面试信息
export const updateInterview = (id, data) => {
  return request.put(`/interview/${id}`, data)
} 